package cn.broadsense.web.controller.body;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author huangjinshi
 * @description
 * @createDate 2023-09-13 10:53:26
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel("点位三维上报数据")
public class Channel3dDataBody implements Serializable {

    /**
     * 当前海拔
     */
    @ApiModelProperty("当前海拔")
    @Min(value = 0, message = "请正确填写海拔高度")
    @NotNull(message = "请填写当前海拔")
    private BigDecimal altitude;

    /**
     * 设备高度
     */
    @ApiModelProperty("设备高度")
    @NotNull(message = "请填写设备高度")
    @Min(value = 0, message = "请正确填写设备高度")
    private BigDecimal deviceHeight;

    /**
     * 朝向
     */
    @ApiModelProperty("设备朝向")
    @NotNull(message = "请填写设备朝向")
    private String orientation;

    /**
     * 设备俯仰角
     */
    @ApiModelProperty("设备俯仰角")
    @NotNull(message = "请填写俯仰角")
    private String pitchAngle;


    /**
     * 立杆经度
     */
    @ApiModelProperty("立杆经度")
    private String columnGpsx;

    /**
     * 立杆纬度
     */
    @ApiModelProperty("立杆纬度")
    private String columnGpsy;

    /**
     * 横臂朝向
     */
    @ApiModelProperty("横臂朝向")
    private String columnOrientation;

    /**
     * 横臂长度
     */
    @ApiModelProperty("横臂长度")
    private BigDecimal columnLength;

    /**
     * 附件信息
     */
    @ApiModelProperty("附件信息")
    @NotNull(message = "请上传1~3张照片")
    @Size(min = 1, max = 3, message = "请上传1~3张照片")
    private List<String> attachment;


    @ApiModelProperty("是否显示立杆 1显示 2不显示")
    private Integer pole;

    @ApiModelProperty("立杆高度")
    private Integer poleHeight;


    @ApiModelProperty("可视半径")

    private String radius;

    @ApiModelProperty("可视角度")
    private String viewAngle;



}
